Package particleengine
Class Emitter
java.lang.Object
particleengine.IEmitter
particleengine.Emitter
Default particle generator that implements
IEmitter.
Initialize an Emitter using Particles.createCopy(particleengine.Emitter, com.fs.starfarer.api.graphics.SpriteAPI, int, int, int). After setting the emitter's properties,
generate particles using Particles.burst(particleengine.IEmitter, int) or Particles.stream(particleengine.IEmitter, int, float, float).-
Method Summary
Modifier and TypeMethodDescriptionvoidacceleration(float minX, float maxX, float minY, float maxY) Sets the acceleration of generated particles along the emitter's axes.voidacceleration(org.lwjgl.util.vector.Vector2f min, org.lwjgl.util.vector.Vector2f max) Sets the component-wise minimum and maximum accelerations of generated particles along the emitter's axes.voidalphaShift(float minA, float maxA) voidcircleAcceleration(float innerRadius, float outerRadius) Adds circular randomness to the accelerations of particles generated by thisEmitter.voidcircleOffset(float innerRadius, float outerRadius) Adds circular randomness to the positions of particles generated by thisEmitter.voidcircleVelocity(float innerRadius, float outerRadius) Adds circular randomness to the velocities of particles generated by thisEmitter.voidcolor(float[] rgba) voidcolor(float r, float g, float b, float a) Sets the initial color of particles generated by thisEmitter.voidvoidcolorHSVA(float[] hsva) Sets the initial color of particles generated by thisEmitter.voidcolorShiftHSVA(float[] hsva) voidcolorShiftHSVA(float[] minHSVA, float[] maxHSVA) voidcolorShiftHSVA(float h, float s, float v, float a) Adds color shift to particles, allowing individual particles to change color over time.voidcolorShiftHSVA(float minH, float maxH, float minS, float maxS, float minV, float maxV, float minA, float maxA) Adds color shift to particles, allowing individual particles to change color over time.voidcolorValueShift(float minV, float maxV) voidfacing(float minAngle, float maxAngle) Sets minimum and maximum initial facing angles of particles generated by thisEmitter.voidfadeTime(float minFadeIn, float maxFadeIn, float minFadeOut, float maxFadeOut) Sets the fade-in and fade-out times for particles generated by thisEmitter.voidfromJSON(org.json.JSONObject json) Loads properties from a JSON object.intintintcom.fs.starfarer.api.campaign.CampaignEngineLayerscom.fs.starfarer.api.combat.CombatEngineLayersgetLayer()org.lwjgl.util.vector.Vector2ffloatcom.fs.starfarer.api.graphics.SpriteAPIfloatgetXDir()voidgrowthAcceleration(float minAcceleration, float maxAcceleration) Sets the growth acceleration of particles generated by thisEmitter.voidgrowthAcceleration(float minXAcceleration, float maxXAcceleration, float minYAcceleration, float maxYAcceleration) Same asgrowthAcceleration(float, float), but allows specification of x-scale and y-scale separately.voidgrowthRate(float minRate, float maxRate) Sets the initial growth rate of particles generated by thisEmitter.voidgrowthRate(float minXRate, float maxXRate, float minYRate, float maxYRate) Same asgrowthRate(float, float), but allows specification of x-scale and y-scale separately.voidhueShift(float minH, float maxH) booleanvoidlife(float minLife, float maxLife) Sets the minimum and maximum lifetime of particles generated by thisEmitter.voidoffset(float minX, float maxX, float minY, float maxY) Sets the position of generated particles relative to this emitter's location.voidoffset(org.lwjgl.util.vector.Vector2f min, org.lwjgl.util.vector.Vector2f max) Sets the component-wise minimum and maximum positions of generated particles relative to this emitter's location, along the emitter's axes.voidradialAcceleration(float minAcceleration, float maxAcceleration) Adds acceleration in the direction from the emitter'slocationto each individual particle's randomized position.voidradialVelocity(float minVelocity, float maxVelocity) Adds velocity in the direction from the emitter'slocationto each individual particle's randomized position.voidrandomHSVA(float[] hsva) voidrandomHSVA(float h, float s, float v, float a) Randomizes the initial color of particles generated by thisEmitter.voidrevolutionAcceleration(float minAcceleration, float maxAcceleration) voidrevolutionRate(float minRate, float maxRate) Causes particles to revolve around the emitter'slocationat the time of generation.voidsaturationShift(float minS, float maxS) voidsetAlwaysRenderInCampaign(boolean alwaysRender) Iftrue, particles will persist between screen transitions (but their positions will not be adjusted).voidsetAxis(float dir) voidsetAxis(org.lwjgl.util.vector.Vector2f xAxis) Sets the axes of this emitter's coordinate system.voidsetBlendMode(int sfactor, int dfactor, int blendMode) Sets the blend source factor, destination factor, and blending function.voidsetCampaignLayer(com.fs.starfarer.api.campaign.CampaignEngineLayers layer) Sets the rendering layer of this emitter.voidsetInactiveBorder(float amount) Sets the "render radius" of the emitter.voidsetLayer(com.fs.starfarer.api.combat.CombatEngineLayers layer) Sets the rendering layer of this emitter.voidsetLocation(float x, float y) Sets this emitter's location.voidsetLocation(org.lwjgl.util.vector.Vector2f location) voidsetSprite(com.fs.starfarer.api.graphics.SpriteAPI sprite) Sets the sprite used by this emitter.voidSets the sprite used by this emitter.voidsetSyncSize(boolean sync) Sets whether generated particles should always have the samexandyscale.voidsinusoidalMotionX(float minAmplitude, float maxAmplitude, float minFrequency, float maxFrequency, float minPhase, float maxPhase) Adds periodic motion along the emitter's x-axis.voidsinusoidalMotionY(float minAmplitude, float maxAmplitude, float minFrequency, float maxFrequency, float minPhase, float maxPhase) voidsize(float minSize, float maxSize) Sets the size of particles generated by thisEmitter.voidsize(float minXSize, float maxXSize, float minYSize, float maxYSize) Same assize(float, float), but allows specification of x-scale and y-scale separately.voidturnAcceleration(float minAcceleration, float maxAcceleration) Sets minimum and maximum turn rate accelerations for particles generated by thisEmitter.voidturnRate(float minRate, float maxRate) Sets minimum and maximum initial turn rates for particles generated by thisEmitter.voidvelocity(float minX, float maxX, float minY, float maxY) Sets the velocity of generated particles along the emitter's axes.voidvelocity(org.lwjgl.util.vector.Vector2f min, org.lwjgl.util.vector.Vector2f max) Sets the component-wise minimum and maximum velocities of generated particles along the emitter's axes.voidWrites this emitter's properties to a file with the given name.Methods inherited from class particleengine.IEmitter
burst, disableDynamicAnchoring, enableDynamicAnchoring, isDynamicAnchoring, isSmoothDynamic, setSmoothDynamic, stream, stream, stream
-
Method Details
-
setInactiveBorder
public void setInactiveBorder(float amount) Sets the "render radius" of the emitter. Formally, if an emitter is outside the box[-amount,W+amount]x[-amount,H+amount]relative to the viewport when particles would have been generated, that generate call is ignored.- Parameters:
amount- Border amount, in world units.
-
setLayer
public void setLayer(com.fs.starfarer.api.combat.CombatEngineLayers layer) Sets the rendering layer of this emitter. SeeCombatEngineLayersfor an ordered list of possible values.- Parameters:
layer- Combat layer to render particles to
-
setCampaignLayer
public void setCampaignLayer(com.fs.starfarer.api.campaign.CampaignEngineLayers layer) Sets the rendering layer of this emitter. SeeCampaignEngineLayersfor an ordered list of possible values.- Parameters:
layer- Combat layer to render particles to
-
setAlwaysRenderInCampaign
public void setAlwaysRenderInCampaign(boolean alwaysRender) Iftrue, particles will persist between screen transitions (but their positions will not be adjusted). SeeIEmitter.isAlwaysRenderInCampaign()for more details.- Parameters:
alwaysRender- Whether particles should persist through campaign screen transitions
-
setLocation
public void setLocation(float x, float y) Sets this emitter's location. To set the starting position of particles relative to this emitter, useoffset(float, float, float, float).- Parameters:
x- Initial x-position, in absolute world units.y- Initial y-position, in absolute world units.
-
setLocation
public void setLocation(org.lwjgl.util.vector.Vector2f location) - See Also:
-
setAxis
public void setAxis(org.lwjgl.util.vector.Vector2f xAxis) Sets the axes of this emitter's coordinate system. Defaults to global axes, i.e.(0, 1)and(1, 0).- Parameters:
xAxis- The emitter's x-axis. Doesn't need to be normalized. If degenerate, will be set to the default value(0, 1). The emitter's y-axis will automatically be set to the unit vector that is counterclockwise perpendicular toxAxis.
-
setAxis
public void setAxis(float dir) - See Also:
-
setSprite
public void setSprite(com.fs.starfarer.api.graphics.SpriteAPI sprite) Sets the sprite used by this emitter.- Parameters:
sprite- Sprite to use. Can benull.
-
setSprite
Sets the sprite used by this emitter.- Parameters:
loc- Location of sprite to use. Ifnull, will set the sprite tonull.
-
setBlendMode
public void setBlendMode(int sfactor, int dfactor, int blendMode) Sets the blend source factor, destination factor, and blending function.- Parameters:
sfactor- Source factor, e.g.GL11.GL_SRC_ALPHA.dfactor- Destination factor, e.g.GL11.GL_ONE_MINUS_SRC_ALPHA.blendMode- Blending operator, e.g.GL14.GL_FUNC_ADD.
-
life
public void life(float minLife, float maxLife) Sets the minimum and maximum lifetime of particles generated by thisEmitter. Particles exceeding their lifespan are not rendered.- Parameters:
minLife- Minimum lifetime, in seconds.maxLife- Maximum lifetime, in seconds.
-
fadeTime
public void fadeTime(float minFadeIn, float maxFadeIn, float minFadeOut, float maxFadeOut) Sets the fade-in and fade-out times for particles generated by thisEmitter. Particles' alpha values rise linearly from0to1within the fade-in window, and fall linearly from1to0within the fade-out window.- Parameters:
minFadeIn- Minimum fade-in time, in seconds.maxFadeIn- Maximum fade-in time, in seconds.minFadeOut- Minimum fade-out time, in seconds.maxFadeOut- Maximum fade-out time, in seconds.
-
offset
public void offset(float minX, float maxX, float minY, float maxY) Sets the position of generated particles relative to this emitter's location. This position is defined along the emitter's axes.- Parameters:
minX- Minimum offset of particles along the emitter's x-axis in world units.maxX- Maximum offset of particles along the emitter's x-axis in world units.minY- Minimum offset of particles along the emitter's y-axis in world units.maxY- Maximum offset of particles along the emitter's y-axis in world units.
-
offset
public void offset(org.lwjgl.util.vector.Vector2f min, org.lwjgl.util.vector.Vector2f max) Sets the component-wise minimum and maximum positions of generated particles relative to this emitter's location, along the emitter's axes.- Parameters:
min- Minimum x and y offsets.max- Maximum x and y offsets.
-
velocity
public void velocity(float minX, float maxX, float minY, float maxY) Sets the velocity of generated particles along the emitter's axes.- Parameters:
minX- Minimum velocity of particles along the emitter's x-axis in world units / s.maxX- Maximum velocity of particles along the emitter's x-axis in world units / s.minY- Minimum velocity of particles along the emitter's y-axis in world units / s.maxY- Maximum velocity of particles along the emitter's y-axis in world units / s.
-
velocity
public void velocity(org.lwjgl.util.vector.Vector2f min, org.lwjgl.util.vector.Vector2f max) Sets the component-wise minimum and maximum velocities of generated particles along the emitter's axes.- Parameters:
min- Minimum x and y velocities.max- Maximum x and y velocities.
-
acceleration
public void acceleration(float minX, float maxX, float minY, float maxY) Sets the acceleration of generated particles along the emitter's axes.- Parameters:
minX- Minimum acceleration of particles along the emitter's x-axis in world units / s^2.maxX- Maximum acceleration of particles along the emitter's x-axis in world units / s^2.minY- Minimum acceleration of particles along the emitter's y-axis in world units / s^2.maxY- Maximum acceleration of particles along the emitter's y-axis in world units / s^2.
-
acceleration
public void acceleration(org.lwjgl.util.vector.Vector2f min, org.lwjgl.util.vector.Vector2f max) Sets the component-wise minimum and maximum accelerations of generated particles along the emitter's axes.- Parameters:
min- Minimum x and y accelerations.max- Maximum x and y accelerations.
-
circleOffset
public void circleOffset(float innerRadius, float outerRadius) Adds circular randomness to the positions of particles generated by thisEmitter. Generated particles will have a random vector inside an annulus with inner radiusinnerRadiusand outer radiusouterRadiusadded to their positions.- Parameters:
innerRadius- Inner radius of annulus inside which a random vector will be chosen to be added to each particle's starting position.outerRadius- Outer radius of annulus inside which a random vector will be chosen to be added to each particle's starting position.
-
circleVelocity
public void circleVelocity(float innerRadius, float outerRadius) Adds circular randomness to the velocities of particles generated by thisEmitter. Generated particles will have a random vector inside an annulus with inner radiusinnerRadiusand outer radiusouterRadiusadded to their velocities.- Parameters:
innerRadius- Inner radius of annulus inside which a random vector will be chosen to be added to each particle's initial velocity.outerRadius- Outer radius of annulus inside which a random vector will be chosen to be added to each particle's initial velocity.
-
circleAcceleration
public void circleAcceleration(float innerRadius, float outerRadius) Adds circular randomness to the accelerations of particles generated by thisEmitter. Generated particles will have a random vector inside an annulus with inner radiusinnerRadiusand outer radiusouterRadiusadded to their accelerations.- Parameters:
innerRadius- Inner radius of annulus inside which a random vector will be chosen to be added to each particle's initial acceleration.outerRadius- Outer radius of annulus inside which a random vector will be chosen to be added to each particle's initial acceleration.
-
facing
public void facing(float minAngle, float maxAngle) Sets minimum and maximum initial facing angles of particles generated by thisEmitter. Each particle will have an initial facing randomly chosen between the two given angles. A facing direction of0is oriented along this emitter's x-axis.- Parameters:
minAngle- Minimum initial facing direction, in degrees.maxAngle- Maximum initial facing direction, in degrees.
-
turnRate
public void turnRate(float minRate, float maxRate) Sets minimum and maximum initial turn rates for particles generated by thisEmitter. Each particle will have an initial turn rate randomly chosen between the two given numbers.- Parameters:
minRate- Minimum initial turn rate, in degrees / s.maxRate- Maximum initial turn rate, in degrees / s.
-
turnAcceleration
public void turnAcceleration(float minAcceleration, float maxAcceleration) Sets minimum and maximum turn rate accelerations for particles generated by thisEmitter. Each particle will have a turn rate acceleration randomly chosen between the two given numbers.- Parameters:
minAcceleration- Minimum initial turn rate acceleration, in degrees / s^2.maxAcceleration- Maximum initial turn rate acceleration, in degrees / s^2.
-
size
public void size(float minSize, float maxSize) Sets the size of particles generated by thisEmitter. Each particle is given a size randomly chosen betweenminSizeandmaxSize.- Parameters:
minSize- Minimum initial particle size, in world units.maxSize- Maximum initial particle size, in world units.
-
growthRate
public void growthRate(float minRate, float maxRate) Sets the initial growth rate of particles generated by thisEmitter. Each particle is given a growth rate randomly chosen betweenminRateandmaxRate.- Parameters:
minRate- Minimum initial particle growth rate, in world units / s.maxRate- Maximum initial particle growth rate, in world units / s.
-
growthAcceleration
public void growthAcceleration(float minAcceleration, float maxAcceleration) Sets the growth acceleration of particles generated by thisEmitter. Each particle is given a growth acceleration randomly chosen betweenminAccelerationandmaxAcceleration.- Parameters:
minAcceleration- Minimum particle growth acceleration, in world units / s^2.maxAcceleration- Maximum particle growth acceleration, in world units / s^2.
-
size
public void size(float minXSize, float maxXSize, float minYSize, float maxYSize) Same assize(float, float), but allows specification of x-scale and y-scale separately. -
growthRate
public void growthRate(float minXRate, float maxXRate, float minYRate, float maxYRate) Same asgrowthRate(float, float), but allows specification of x-scale and y-scale separately. -
growthAcceleration
public void growthAcceleration(float minXAcceleration, float maxXAcceleration, float minYAcceleration, float maxYAcceleration) Same asgrowthAcceleration(float, float), but allows specification of x-scale and y-scale separately. -
setSyncSize
public void setSyncSize(boolean sync) Sets whether generated particles should always have the samexandyscale. If this is set, then only the emitter'sxvalues will be taken into account for size, growth rate, and growth acceleration.- Parameters:
sync- Iftrue, ensures that generated particles have the samexandysizes, growth rates, and growth accelerations. Iffalse, these properties will have theirxandyvalues set independently.
-
color
public void color(float r, float g, float b, float a) Sets the initial color of particles generated by thisEmitter.- Parameters:
r- Initial red value, between 0 and 1.g- Initial green value, between 0 and 1.b- Initial blue value, between 0 and 1.a- Initial alpha value, between 0 and 1.
-
color
- See Also:
-
color
public void color(float[] rgba) - See Also:
-
colorHSVA
public void colorHSVA(float[] hsva) Sets the initial color of particles generated by thisEmitter. emitter in HSVA space.- Parameters:
hsva- 4-element float array containing hue, saturation, color value, and alpha.
-
randomHSVA
public void randomHSVA(float h, float s, float v, float a) Randomizes the initial color of particles generated by thisEmitter. Each particle has its initial hue modified by a number in the range[-h/2, h/2]. The particle's other hsva channels are similarly randomized. Resulting hue values outside[0, 360)wrap around. Resulting saturation, value, and alpha values are clamped to[0, 1].- Parameters:
h- Hue randomization, in degrees. Hue is between0and360.s- Saturation randomization. Saturation is between0and1.v- Value randomization. Value is between0and1.a- Alpha randomization. Alpha is between0and1.
-
randomHSVA
public void randomHSVA(float[] hsva) - See Also:
-
colorShiftHSVA
public void colorShiftHSVA(float h, float s, float v, float a) Adds color shift to particles, allowing individual particles to change color over time. If the resulting hue value falls outside[0, 360), it will wrap around. Resulting saturation, value, and alpha values are clamped to[0, 1].- Parameters:
h- Hue shift per second, in degreess- Saturation shift per secondv- Value shift per seconda- Alpha shift per second
-
colorShiftHSVA
public void colorShiftHSVA(float[] hsva) - See Also:
-
colorShiftHSVA
public void colorShiftHSVA(float minH, float maxH, float minS, float maxS, float minV, float maxV, float minA, float maxA) Adds color shift to particles, allowing individual particles to change color over time. Each particle is given a random hue velocity betweenminHandmaxH, a random saturation velocity betweenminSandmaxS, a random value velocity betweenminVandmaxV, and a random alpha velocity betweenminAandmaxA. If the resulting hue value falls outside[0, 360), it will wrap around. Resulting saturation, value, and alpha values are clamped to[0, 1].- Parameters:
minH- Minimum hue shift per second, in degreesmaxH- Maximum hue shift per second, in degreesminS- Minimum saturation shift per secondmaxS- Maximum saturation shift per secondminV- Minimum value shift per secondmaxV- Maximum value shift per secondminA- Minimum alpha shift per secondmaxA- Maximum alpha shift per second
-
colorShiftHSVA
public void colorShiftHSVA(float[] minHSVA, float[] maxHSVA) - See Also:
-
hueShift
public void hueShift(float minH, float maxH) - See Also:
-
saturationShift
public void saturationShift(float minS, float maxS) - See Also:
-
colorValueShift
public void colorValueShift(float minV, float maxV) - See Also:
-
alphaShift
public void alphaShift(float minA, float maxA) - See Also:
-
radialVelocity
public void radialVelocity(float minVelocity, float maxVelocity) Adds velocity in the direction from the emitter'slocationto each individual particle's randomized position. This effect causes particles to be pushed outwards from the emitter'slocation. No effect on emitters with nooffsetorpositionSpread.- Parameters:
minVelocity- Minimum outward radial velocity, in world units / s.maxVelocity- Maximum outward radial velocity, in world units / s.
-
radialAcceleration
public void radialAcceleration(float minAcceleration, float maxAcceleration) Adds acceleration in the direction from the emitter'slocationto each individual particle's randomized position.- Parameters:
minAcceleration- Minimum outward radial acceleration, in world units / s^2.maxAcceleration- Maximum outward radial acceleration, in world units / s^2.- See Also:
-
revolutionRate
public void revolutionRate(float minRate, float maxRate) Causes particles to revolve around the emitter'slocationat the time of generation. Note that updates to the emitter's location after a particle has already been generated are not received. This effect is applied after all other movement effects.- Parameters:
minRate- Minimum initial revolution velocity, in degrees / s.maxRate- Maximum initial revolution velocity, in degrees / s.
-
revolutionAcceleration
public void revolutionAcceleration(float minAcceleration, float maxAcceleration) - Parameters:
minAcceleration- Minimum revolution acceleration, in degrees / s^2.maxAcceleration- Maximum revolution acceleration, in degrees / s^2.- See Also:
-
sinusoidalMotionX
public void sinusoidalMotionX(float minAmplitude, float maxAmplitude, float minFrequency, float maxFrequency, float minPhase, float maxPhase) Adds periodic motion along the emitter's x-axis. For each particle, if its phase is non-zero, will also translate that particle so that its initial position is unchanged att = 0.- Parameters:
minAmplitude- Minimum amplitude of periodic motion along the emitter's x-axis, in world units.maxAmplitude- Maximum amplitude of periodic motion along the emitter's x-axis, in world units.minFrequency- Minimum number of complete cycles per second along the emitter's x-axis.maxFrequency- Maximum of complete cycles per second along the emitter's x-axis.minPhase- Minimum initial phase of periodic motion along the emitter's x-axis, in degrees.maxPhase- Maximum initial phase of periodic motion along the emitter's x-axis, in degrees.
-
sinusoidalMotionY
public void sinusoidalMotionY(float minAmplitude, float maxAmplitude, float minFrequency, float maxFrequency, float minPhase, float maxPhase) - Parameters:
minAmplitude- Minimum amplitude of periodic motion along the emitter's y-axis, in world units.maxAmplitude- Maximum amplitude of periodic motion along the emitter's y-axis, in world units.minFrequency- Minimum number of complete cycles per second along the emitter's y-axis.maxFrequency- Maximum of complete cycles per second along the emitter's y-axis.minPhase- Minimum initial phase of periodic motion along the emitter's y-axis, in degrees.maxPhase- Maximum initial phase of periodic motion along the emitter's y-axis, in degrees.- See Also:
-
getLocation
public org.lwjgl.util.vector.Vector2f getLocation()- Specified by:
getLocationin classIEmitter- Returns:
- Absolute location of this emitter, in world coordinates.
-
getSprite
public com.fs.starfarer.api.graphics.SpriteAPI getSprite() -
getXDir
public float getXDir() -
getBlendSourceFactor
public int getBlendSourceFactor()- Specified by:
getBlendSourceFactorin classIEmitter- Returns:
- Source blend factor, e.g.
GL11.GL_SRC_ALPHA.
-
getBlendDestinationFactor
public int getBlendDestinationFactor()- Specified by:
getBlendDestinationFactorin classIEmitter- Returns:
- Destination blend factor, e.g.
GL11.GL_ONE_MINUS_SRC_ALPHA.
-
getBlendFunc
public int getBlendFunc()- Specified by:
getBlendFuncin classIEmitter- Returns:
- Blending operation, e.g.
GL14.GL_FUNC_ADD.
-
getLayer
public com.fs.starfarer.api.combat.CombatEngineLayers getLayer() -
getCampaignLayer
public com.fs.starfarer.api.campaign.CampaignEngineLayers getCampaignLayer()- Specified by:
getCampaignLayerin classIEmitter- Returns:
- Campaign layer particles should be rendered on.
-
isAlwaysRenderInCampaign
public boolean isAlwaysRenderInCampaign()- Specified by:
isAlwaysRenderInCampaignin classIEmitter- Returns:
- Whether the particles should persist through campaign location transitions.
Note that particle and emitter positions are world-space-relative, not screen-space-relative, so
dynamic anchoring and changing emitters' positions in a
CurrentLocationChangedListeneris required to fix particles' screen-space positions.
-
getRenderRadius
public float getRenderRadius()- Specified by:
getRenderRadiusin classIEmitter- Returns:
- Distance from edge of screen beyond which particles are culled before generation. This applies to the emitter's location rather than individual particles' locations.
-
fromJSON
public void fromJSON(org.json.JSONObject json) throws org.json.JSONException Loads properties from a JSON object.- Parameters:
json- JSON object to load from.- Throws:
org.json.JSONException- if the providedjsonis malformed.
-
writeJSON
Writes this emitter's properties to a file with the given name. The directory is specified inparticleengine_settings.json.- Parameters:
name- File name to use
-